<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Geo3DML-CPP: geo3dml::Context Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Geo3DML-CPP
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacegeo3dml.html">geo3dml</a></li><li class="navelem"><a class="el" href="classgeo3dml_1_1_context.html">Context</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classgeo3dml_1_1_context-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">geo3dml::Context Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_context_8h_source.html">Context.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a93825fdbf7dabb5a0a66b50b4d0d393a" id="r_a93825fdbf7dabb5a0a66b50b4d0d393a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a93825fdbf7dabb5a0a66b50b4d0d393a">Context</a> (<a class="el" href="classgeo3dml_1_1_object_factory.html">ObjectFactory</a> *g3dFactory)</td></tr>
<tr class="separator:a93825fdbf7dabb5a0a66b50b4d0d393a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a585924d2868081ea2134f110173e1369" id="r_a585924d2868081ea2134f110173e1369"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a585924d2868081ea2134f110173e1369">~Context</a> ()</td></tr>
<tr class="separator:a585924d2868081ea2134f110173e1369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a385b24174ea0498af16e00979b551d7a" id="r_a385b24174ea0498af16e00979b551d7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeo3dml_1_1_object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a385b24174ea0498af16e00979b551d7a">GetGeo3DMLObject</a> ()</td></tr>
<tr class="separator:a385b24174ea0498af16e00979b551d7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Load data on demand or progressively.</div></td></tr>
<tr class="memitem:a135cd3fa12a5573b6de5b562db94b871" id="r_a135cd3fa12a5573b6de5b562db94b871"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a135cd3fa12a5573b6de5b562db94b871">LoadMoreData</a> ()</td></tr>
<tr class="separator:a135cd3fa12a5573b6de5b562db94b871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a528452d445612e510d6ed4c282055e74" id="r_a528452d445612e510d6ed4c282055e74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a528452d445612e510d6ed4c282055e74">SetDone</a> (bool isDone)</td></tr>
<tr class="separator:a528452d445612e510d6ed4c282055e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7d80f6350fb8bb380cd4a2006a4a5e5" id="r_ad7d80f6350fb8bb380cd4a2006a4a5e5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad7d80f6350fb8bb380cd4a2006a4a5e5">IsDone</a> ()</td></tr>
<tr class="separator:ad7d80f6350fb8bb380cd4a2006a4a5e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Status of error happening.</h2></td></tr>
<tr class="memitem:a06e4a130cebe9912fe15c05ad0b1d3c6" id="r_a06e4a130cebe9912fe15c05ad0b1d3c6"><td class="memItemLeft" align="right" valign="top">typedef std::lock_guard&lt; std::recursive_mutex &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a06e4a130cebe9912fe15c05ad0b1d3c6">g3dcpp_context_lock_guard</a></td></tr>
<tr class="separator:a06e4a130cebe9912fe15c05ad0b1d3c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0720b5f434e636e22a3ed34f847eec57" id="r_a0720b5f434e636e22a3ed34f847eec57"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0720b5f434e636e22a3ed34f847eec57">Object</a></td></tr>
<tr class="separator:a0720b5f434e636e22a3ed34f847eec57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a129725c92f9b395148bfcb80a1f903d1" id="r_a129725c92f9b395148bfcb80a1f903d1"><td class="memItemLeft" align="right" valign="top">std::recursive_mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a129725c92f9b395148bfcb80a1f903d1">mtx_</a></td></tr>
<tr class="separator:a129725c92f9b395148bfcb80a1f903d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04a17435a9b02117c9b0647cf5cf1429" id="r_a04a17435a9b02117c9b0647cf5cf1429"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeo3dml_1_1_object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a04a17435a9b02117c9b0647cf5cf1429">g3dObject_</a></td></tr>
<tr class="separator:a04a17435a9b02117c9b0647cf5cf1429"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad06081ed1ebe69ebfa1b4cc074cf2312" id="r_ad06081ed1ebe69ebfa1b4cc074cf2312"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeo3dml_1_1_object_factory.html">ObjectFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad06081ed1ebe69ebfa1b4cc074cf2312">g3dFactory_</a></td></tr>
<tr class="separator:ad06081ed1ebe69ebfa1b4cc074cf2312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a711a55358af9fcfaf1b5c3175469a577" id="r_a711a55358af9fcfaf1b5c3175469a577"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a711a55358af9fcfaf1b5c3175469a577">isDone_</a></td></tr>
<tr class="separator:a711a55358af9fcfaf1b5c3175469a577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4723fb507d402279be08ecaea69cd090" id="r_a4723fb507d402279be08ecaea69cd090"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4723fb507d402279be08ecaea69cd090">isOK_</a></td></tr>
<tr class="separator:a4723fb507d402279be08ecaea69cd090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdeb2ba802fde0541e54e637a142c7d4" id="r_abdeb2ba802fde0541e54e637a142c7d4"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abdeb2ba802fde0541e54e637a142c7d4">errorMessage_</a></td></tr>
<tr class="separator:abdeb2ba802fde0541e54e637a142c7d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9b3c38a0c684114156b6a4797df7ca" id="r_a1f9b3c38a0c684114156b6a4797df7ca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1f9b3c38a0c684114156b6a4797df7ca">IsOK</a> ()</td></tr>
<tr class="separator:a1f9b3c38a0c684114156b6a4797df7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af15c4b99a4fbd96d2dd16c36499ca13b" id="r_af15c4b99a4fbd96d2dd16c36499ca13b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af15c4b99a4fbd96d2dd16c36499ca13b">Error</a> ()</td></tr>
<tr class="separator:af15c4b99a4fbd96d2dd16c36499ca13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7001b819de8fef2e503b772214ebae8c" id="r_a7001b819de8fef2e503b772214ebae8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7001b819de8fef2e503b772214ebae8c">BindGeo3DMLObject</a> (<a class="el" href="classgeo3dml_1_1_object.html">Object</a> *g3dObject)</td></tr>
<tr class="separator:a7001b819de8fef2e503b772214ebae8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9ffe8ed4d0f12b6c1df303995fc2bbe" id="r_ae9ffe8ed4d0f12b6c1df303995fc2bbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeo3dml_1_1_object_factory.html">ObjectFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae9ffe8ed4d0f12b6c1df303995fc2bbe">GetObjectFactory</a> ()</td></tr>
<tr class="separator:ae9ffe8ed4d0f12b6c1df303995fc2bbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa9e0370ff297b6ee76cdfa09ba9c3cb" id="r_afa9e0370ff297b6ee76cdfa09ba9c3cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afa9e0370ff297b6ee76cdfa09ba9c3cb">SetStatus</a> (bool isOK, const std::string &amp;message=&quot;&quot;)</td></tr>
<tr class="separator:afa9e0370ff297b6ee76cdfa09ba9c3cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Data context information about the Geo3DML object. These could be information related to the data source, such as XML file, remote G3DStore service etc.. With the context, application could load the actual data on demand, or load data progressively. A <a class="el" href="classgeo3dml_1_1_context.html">Context</a> object is thread safe. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a06e4a130cebe9912fe15c05ad0b1d3c6" name="a06e4a130cebe9912fe15c05ad0b1d3c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06e4a130cebe9912fe15c05ad0b1d3c6">&#9670;&#160;</a></span>g3dcpp_context_lock_guard</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::lock_guard&lt;std::recursive_mutex&gt; <a class="el" href="#a06e4a130cebe9912fe15c05ad0b1d3c6">geo3dml::Context::g3dcpp_context_lock_guard</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a93825fdbf7dabb5a0a66b50b4d0d393a" name="a93825fdbf7dabb5a0a66b50b4d0d393a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93825fdbf7dabb5a0a66b50b4d0d393a">&#9670;&#160;</a></span>Context()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">geo3dml::Context::Context </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgeo3dml_1_1_object_factory.html">ObjectFactory</a> *</td>          <td class="paramname"><span class="paramname"><em>g3dFactory</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructor. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g3dFactory</td><td>the factory of Geo3DML objects. The factory object should be deallocated by the caller. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a585924d2868081ea2134f110173e1369" name="a585924d2868081ea2134f110173e1369"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a585924d2868081ea2134f110173e1369">&#9670;&#160;</a></span>~Context()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual geo3dml::Context::~Context </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7001b819de8fef2e503b772214ebae8c" name="a7001b819de8fef2e503b772214ebae8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7001b819de8fef2e503b772214ebae8c">&#9670;&#160;</a></span>BindGeo3DMLObject()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void geo3dml::Context::BindGeo3DMLObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgeo3dml_1_1_object.html">Object</a> *</td>          <td class="paramname"><span class="paramname"><em>g3dObject</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Bind a Geo3DML object to this context. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g3dObject</td><td>The Geo3DML object to be bound with this context object, and it will not be deleted in the deconstructor of this context object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af15c4b99a4fbd96d2dd16c36499ca13b" name="af15c4b99a4fbd96d2dd16c36499ca13b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af15c4b99a4fbd96d2dd16c36499ca13b">&#9670;&#160;</a></span>Error()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string geo3dml::Context::Error </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a385b24174ea0498af16e00979b551d7a" name="a385b24174ea0498af16e00979b551d7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a385b24174ea0498af16e00979b551d7a">&#9670;&#160;</a></span>GetGeo3DMLObject()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeo3dml_1_1_object.html">Object</a> * geo3dml::Context::GetGeo3DMLObject </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the bound Geo3DML object. </p><dl class="section return"><dt>Returns</dt><dd>The bound object. </dd></dl>

</div>
</div>
<a id="ae9ffe8ed4d0f12b6c1df303995fc2bbe" name="ae9ffe8ed4d0f12b6c1df303995fc2bbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9ffe8ed4d0f12b6c1df303995fc2bbe">&#9670;&#160;</a></span>GetObjectFactory()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeo3dml_1_1_object_factory.html">ObjectFactory</a> * geo3dml::Context::GetObjectFactory </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the associated <a class="el" href="classgeo3dml_1_1_object_factory.html" title="Factory for Geo3DML objects. It is not thread safe.">ObjectFactory</a> object. </p><dl class="section return"><dt>Returns</dt><dd>The associated ObjectFacotry object whose lifetime is under the <a class="el" href="classgeo3dml_1_1_context.html">Context</a>'s management. </dd></dl>

</div>
</div>
<a id="ad7d80f6350fb8bb380cd4a2006a4a5e5" name="ad7d80f6350fb8bb380cd4a2006a4a5e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7d80f6350fb8bb380cd4a2006a4a5e5">&#9670;&#160;</a></span>IsDone()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geo3dml::Context::IsDone </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Check whether all data has been loaded. </p><dl class="section return"><dt>Returns</dt><dd>Return true if all data has been loaded, or return false. </dd></dl>

</div>
</div>
<a id="a1f9b3c38a0c684114156b6a4797df7ca" name="a1f9b3c38a0c684114156b6a4797df7ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f9b3c38a0c684114156b6a4797df7ca">&#9670;&#160;</a></span>IsOK()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geo3dml::Context::IsOK </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a135cd3fa12a5573b6de5b562db94b871" name="a135cd3fa12a5573b6de5b562db94b871"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a135cd3fa12a5573b6de5b562db94b871">&#9670;&#160;</a></span>LoadMoreData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void geo3dml::Context::LoadMoreData </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Load more data from data source. This method should be overridden to load more data on demand or progressively. </p>

</div>
</div>
<a id="a528452d445612e510d6ed4c282055e74" name="a528452d445612e510d6ed4c282055e74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a528452d445612e510d6ed4c282055e74">&#9670;&#160;</a></span>SetDone()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geo3dml::Context::SetDone </td>
          <td>(</td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>isDone</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set whether all data has been loaded. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">isDone</td><td>Pass in true if all data has been loaded, or pass in false. Default is done. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="afa9e0370ff297b6ee76cdfa09ba9c3cb" name="afa9e0370ff297b6ee76cdfa09ba9c3cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa9e0370ff297b6ee76cdfa09ba9c3cb">&#9670;&#160;</a></span>SetStatus()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void geo3dml::Context::SetStatus </td>
          <td>(</td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>isOK</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>message</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Friends And Related Symbol Documentation</h2>
<a id="a0720b5f434e636e22a3ed34f847eec57" name="a0720b5f434e636e22a3ed34f847eec57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0720b5f434e636e22a3ed34f847eec57">&#9670;&#160;</a></span>Object</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classgeo3dml_1_1_object.html">Object</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="abdeb2ba802fde0541e54e637a142c7d4" name="abdeb2ba802fde0541e54e637a142c7d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdeb2ba802fde0541e54e637a142c7d4">&#9670;&#160;</a></span>errorMessage_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string geo3dml::Context::errorMessage_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad06081ed1ebe69ebfa1b4cc074cf2312" name="ad06081ed1ebe69ebfa1b4cc074cf2312"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad06081ed1ebe69ebfa1b4cc074cf2312">&#9670;&#160;</a></span>g3dFactory_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeo3dml_1_1_object_factory.html">ObjectFactory</a>* geo3dml::Context::g3dFactory_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a04a17435a9b02117c9b0647cf5cf1429" name="a04a17435a9b02117c9b0647cf5cf1429"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04a17435a9b02117c9b0647cf5cf1429">&#9670;&#160;</a></span>g3dObject_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeo3dml_1_1_object.html">Object</a>* geo3dml::Context::g3dObject_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a711a55358af9fcfaf1b5c3175469a577" name="a711a55358af9fcfaf1b5c3175469a577"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a711a55358af9fcfaf1b5c3175469a577">&#9670;&#160;</a></span>isDone_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool geo3dml::Context::isDone_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a4723fb507d402279be08ecaea69cd090" name="a4723fb507d402279be08ecaea69cd090"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4723fb507d402279be08ecaea69cd090">&#9670;&#160;</a></span>isOK_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool geo3dml::Context::isOK_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a129725c92f9b395148bfcb80a1f903d1" name="a129725c92f9b395148bfcb80a1f903d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a129725c92f9b395148bfcb80a1f903d1">&#9670;&#160;</a></span>mtx_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::recursive_mutex geo3dml::Context::mtx_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/geo3dml/<a class="el" href="_context_8h_source.html">Context.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
